Kang Su Gatlin - On the 64-bit Whiteboard
- Posted: Mar 29, 2005 at 11:45 AM
- 38,538 Views
- 16 Comments
Download
How do I download the videos?
- To download, right click the file type you would like and pick “Save target as…” or “Save link as…”
Why should I download videos from Channel9?
- It's an easy way to save the videos you like locally.
- You can save the videos in order to watch them offline.
- If all you want is to hear the audio, you can download the MP3!
Which version should I choose?
- If you want to view the video on your PC, Xbox or Media Center, download the High Quality WMV file (this is the highest quality version we have available).
- If you'd like a lower bitrate version, to reduce the download time or cost, then choose the Medium Quality WMV file.
- If you have a Zune, WP7, iPhone, iPad, or iPod device, choose the low or medium MP4 file.
- If you just want to hear the audio of the video, choose the MP3 file.
Right click “Save as…”
- Mid Quality WMV (Lo-band, Mobile)
- WMV (WMV Video)
Comments Closed
Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation,
please create a new thread in our Forums,
or
Contact Us and let us know.
Follow the Discussion
Let me know if I missed the point.
Who in their right mind forgets to check buffers? Who in their right mind forgets to validate input? Who's in their right mind, anyway?
This is a pattern that does exist for better or for worse: mistakes are made.
As was mentioned in the video, there once was a time when programmers were required to do apparently stupid things to wring as much perf as possible out of the platform upon which they made their daily bread.
C
What I really want to know is where to find out about these semantics, as it would be very handy.
I.E.
int x = -30;
unsigned int y = 20;
(x + y) gives an unsigned int???
For a start you could try page 73 of The C++ Programming Language, although I expect it is in the spec somewhere.
Any time the underlying architecture changes, in some fundamental way, these insects fall out of the woodwork. Mercy, with the high level of abstraction now possible, can't we stop revisiting this stuff?
Hope that helps.
Thanks,
Kang Su Gatlin
Visual C++ Program Manager
No, we actually didn't do this to get the extra bit. It's because C/C++ standard says that sign + usign is unsign, and thus when we add an unsigned value to a pointer we don't sign-extend (as the value is not negative), but we would sign extend if the type was signed.
Now maybe what you mean is that we should just always treat 64bit integral values as signed. The problem with that is that there are 64-bit types besides pointers (such as __int64) and you want to make sure that properies that people may expect with unsigned values are preserved.
Such as, for all bit representation x, (if x != 0) => x > 0.
Thanks,
Kang Su Gatlin
Visual C++ Program Manager
Thanks. You'll see more of this type of thing in the future. Chalk talk is always better than marketing hyperbole.
C
I have the K&R C book in front of me so it's easier to quote from the reference section of the text... "If an int can represent all the values of the original type, then the value is converted to an int; otherwise the value is converted to an unsigned int. This process is called integral promotion".
Thanks,
Kang Su Gatlin
Visual C++ Program Manager
...how about the Windows CE kernel. It checks the MSB (by comparing 0x80000000) to see if memory is kernel memory or user memory. That's even Microsoft code. Admittedly, though, it is platform specific code anyway and it will be a while longer before CE devices start switching to 64 bit.
Interesting thematic here is discussed. I am interested in similar issues. My new article about 64-bit development:
20 issues of porting C++ code on the 64-bit platform.
http://www.viva64.com/articles/20%20issues%20of%20porting%20C++%20code%20on%20the%2064-bit%20platform.pdf
I am expecting this may be interesting for you.
John Paul Mueller. 24 Considerations for Moving Your Application to a 64-bit Platform.
Microsoft Game Technology Group. 64-bit programming for Game Developers.
Tim Mangan. Porting C++ Applications to x64.
Bill O'Brien. Widen Your Opportunities with 64-Bit Compilers: Introduction - 64 Bits or Bust.
New location:
Remove this comment
Remove this thread
close