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
-
Originally posted by d000hg View PostWhoosh.
Which language is it has >>> and <<< which does a shift with wrapping?Comment
-
Comment
-
Comment
-
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.
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.
>>> 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
-
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
-
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
-
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
- IR35: Mutuality Of Obligations — updated for 2025/26 Today 05:22
- Only proactive IT contractors can survive recruitment firm closures Yesterday 07:32
- How should a creditors’ meeting ideally pan out for unpaid suppliers? Sep 19 07:16
- How should a creditors’ meeting ideally pan out for unpaid suppliers? Sep 18 21:16
- IR35: Substitution — updated for 2025/26 Sep 18 05:45
- Payment request to bust recruitment agency — free template Sep 16 21:04
- Why licensing umbrella companies must be key to 2027’s regulation Sep 16 13:55
- Top 5 Chapter 11 JSL myths contractors should know Sep 15 03:46
- Top 5 Chapter 11 JSL myths contractors should know Sep 14 15:46
- What the housing market needs at Autumn Budget 2025 Sep 10 20:58
Comment