Maybe it was an addition to a non-standard C compiler... as >>/<< map directly to SHR/SHL (or is it SAR/SAL?), >>>/<<< mapped to ROR/ROL.
- Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
- Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!
Who'd be a game dev...
Collapse
X
-
Originally posted by MaryPoppinsI'd still not breastfeed a naziOriginally posted by vetranUrine is quite nourishing -
Originally posted by d000hg View PostMaybe it was an addition to a non-standard C compiler... as >>/<< map directly to SHR/SHL (or is it SAR/SAL?), >>>/<<< mapped to ROR/ROL.
>> is from C++, I don't recall seeing it in C but I haven't programmed in C for 15 years so I could be wrong. I don't think it's used much because the compiler should do it for you these days anyway and I guess with fast hardware these days, getting the last millisecond performance out of the code is not most peoples concern.Comment
-
>>> is C++ too. I think it similar to >> but one pads with 0 and one doesn't. Java is going back to C++ with increasingly complicated and ugly syntax.Originally posted by d000hg View PostWhoosh.
Which language is it has >>> and <<< which does a shift with wrapping?Comment
-
Comment
-
Comment
-
You are wrong.Originally posted by aussielong View Post>> is from C++, I don't recall seeing it in C but I haven't programmed in C for 15 years so I could be wrong.
How do you tell the compiler to do a bit shift, other than using the bitshift operators? And then what does it optimise it to?I don't think it's used much because the compiler should do it for you these days anyway and I guess with fast hardware these days, getting the last millisecond performance out of the code is not most peoples concern.
Well now you're just making stuff up. What does it pad with if it's not 0? 1?>>> is C++ too. I think it similar to >> but one pads with 0 and one doesn't. Java is going back to C++ with increasingly complicated and ugly syntax.
If it's a signed value, and you shift right, it pads with 0 if positive or 1 if negative. If it's unsigned, it pads with 0. Java seems to have two seperate >> and >>> operators, for some inexplicable reason.Last edited by VectraMan; 15 August 2012, 12:07.Will work inside IR35. Or for food.Comment
-
Was ANY part of AL's post accurate
Although a compiler COULD change a multiplication/division into a shift operation if it wanted to, if you are multiplying by a constant e.g x *= 32.Originally posted by MaryPoppinsI'd still not breastfeed a naziOriginally posted by vetranUrine is quite nourishingComment
-
If it's the same as Javascript then the >>> pads it with zero whether it's positive or negative, hence it's the unsigned right shift operator.Originally posted by VectraMan View PostYou are wrong.
How do you tell the compiler to do a bit shift, other than using the bitshift operators? And then what does it optimise it to?
Well now you're just making stuff up. What does it pad with if it's not 0? 1?
If it's a signed value, and you shift right, it pads with 0 if positive or 1 if negative. If it's unsigned, it pads with 0. Java seems to have two seperate >> and >>> operators, for some inexplicable reason.Comment
-
These operators make it fast to multiply and divide by powers of 2, which can be done using others operators, clearly. Some compilers will replace a multiply by 2 with a bit shift to the left.Originally posted by VectraMan View PostYou are wrong.
How do you tell the compiler to do a bit shift, other than using the bitshift operators? And then what does it optimise it to?
Well now you're just making stuff up. What does it pad with if it's not 0? 1?
If it's a signed value, and you shift right, it pads with 0 if positive or 1 if negative. If it's unsigned, it pads with 0. Java seems to have two seperate >> and >>> operators, for some inexplicable reason.
You get 0 padding if you use >>>, I think with >> you don't... Which leaves the top bits undefined after the shift.
This shouldn't be in general really should it.Last edited by aussielong; 15 August 2012, 17:10.Comment
-
How can you leave the top bits undefined? You'd **** the value up.Originally posted by aussielong View PostThese operators make it fast to multiply and divide by powers of 2, which can be done using others operators, clearly. Some compilers will replace a multiply by 2 with a bit shift to the right.
You get 0 padding if you use >>>, I think with >> you don't... Which leaves the top bits undefined after the shift.
Spod - In "I ******* Despair" mode!
Comment
- Home
- News & Features
- First Timers
- IR35 / S660 / BN66
- Employee Benefit Trusts
- Agency Workers Regulations
- MSC Legislation
- Limited Companies
- Dividends
- Umbrella Company
- VAT / Flat Rate VAT
- Job News & Guides
- Money News & Guides
- Guide to Contracts
- Successful Contracting
- Contracting Overseas
- Contractor Calculators
- MVL
- Contractor Expenses
Advertisers
Contractor Services
CUK News
- Business expenses: What IT contractors can and cannot claim from HMRC Today 08:44
- April’s umbrella PAYE risk: how contractors’ end-clients are prepping Yesterday 05:45
- How EV tax changes of 2025-2028 add up for contractor limited company directors Jan 28 08:11
- Under the terms he was shackled by, Ray McCann’s Loan Charge Review probably is a fair resolution Jan 27 08:41
- Contractors, a £25million crackdown on rogue company directors is coming Jan 26 05:02
- How to run a contractor limited company — efficiently. Part one: software Jan 22 23:31
- Forget February as an MSC contractor seeking clarity, and maybe forget fairness altogether Jan 22 19:57
- What contractors should take from Honest Payroll Ltd’s failure Jan 21 07:05
- HMRC tax avoidance list ‘proves promoters’ nothing-to-lose mentality’ Jan 20 09:17
- Digital ID won’t be required for Right To Work, but more compulsion looms Jan 19 07:41

Comment