|
You are right, as long as the values are < 32768.
|
|
|
|
|
|
kakan wrote: as long as the values are < 32768
<= !!!
my mistake, you're right. sorry
TOXCCT >>> GEII power [toxcct][VisualCalc 2.20][VCalc 3.0 soon...]
-- modified at 5:38 Friday 20th January, 2006
|
|
|
|
|
Really ? I thought -32768 <= int <= 32767 ? Or did I misunderstand your thread ?
~RaGE();
|
|
|
|
|
arf, nop, you're right...
maybe i am not woke up correctly, because i had in mind that it was between [-32767 ; +32768]
my mistake...
TOXCCT >>> GEII power [toxcct][VisualCalc 2.20][VCalc 3.0 soon...]
-- modified at 5:46 Friday 20th January, 2006
|
|
|
|
|
I sort of remember it easily, because of the following story:
<free entertainement="">
Here we are working on 16bit microcontrollers, meaning our greater available type is int. We usually work with signed int. Recently we had a reset due to our math function that was computing the absolute values. This function would do :
void Abs(param)
{
if (param<0) return (-param) else return param;
}
of course, when param was equal to -32768, the function did return an overflow, since --32768 = 32768 cannot be contained by an int
~RaGE();
|
|
|
|
|
i'll try to remember that
however, off topic remark :
if (param<0) return (-param) else return param;
is missing a ';' before else statement...
TOXCCT >>> GEII power [toxcct][VisualCalc 2.20][VCalc 3.0 soon...]
|
|
|
|
|
Actually, we were both wrong.
An int is 4 bytes, not two (anymore). That's true for Win32 anyway.
So the overlapping region of positive values is in the interval 0x00000000 to 0x7fffffff. Or in decimal: 0 to 2147483649.
0x80000000 is a negative number for a signed int, since the MSB (most significant bit) == 0x1.
|
|
|
|
|
A TRUE programming genius would just include limits.h and use INT_MIN and INT_MAX ... :->
|
|
|
|
|
That's too simple. What's wrong with some good old bit manipulation?
|
|
|
|
|
The problem is that the range of int and unsigned int do not overlap. So to compare those two types, an implicit type conversion happens. By the language rules, the int gets promoted to an unsigned int , which means that -1 suddenly becomes 0xFFFFFFFF.
--Mike--
Visual C++ MVP
LINKS~! Ericahist | NEW!! PimpFish | CP SearchBar v3.0 | C++ Forum FAQ
|
|
|
|
|
Michael Dunn wrote:
The problem is that the range of int and unsigned int do not overlap.
I'm not understanding this, Mike. If a signed int ranges from -2147483648 to 2147483647, and an unsigned int ranges from 0 to 4294967295, would they not overlap quite a bit?
"The words of God are not like the oak leaf which dies and falls to the earth, but like the pine tree which stays green forever." - Native American Proverb
|
|
|
|
|
Sorry, I used the wrong word there, that's what I get for posting when I'm sleepy
The two ranges aren't a subset of one another. The warning is there to say that the comparison may be doing something you're not expecting, like converting a negative value into a large positive value.
--Mike--
Visual C++ MVP
LINKS~! Ericahist | NEW!! PimpFish | CP SearchBar v3.0 | C++ Forum FAQ
|
|
|
|
|
I am using Windows 2000 Professional (English) and Visual Studio 6.0 (English, entrerprise edition) for the development.
I have created an SDI application for supporting Japanese language. In this SDI all menus are Japanese(this is what I needed). But the open dialog box still display in English. How can I change this too to Japanese?
Thanks in advance
Jahfer.
|
|
|
|
|
AFAIK, the open dialog box uses the language stated in the Windows settings (Region settings and languages from the control panel), and this is not something you can change programatically.
~RaGE();
|
|
|
|
|
Replace MFC71.DLL with MFC71JPN.DLL on your machine. Microsoft provides the translated MFC libraries with Visual Studio.NET 2003 and places them automatically in your System32 folder while installing Visual Studio. You can find separate MFC DLLs for most of the languages.
Regards,
|
|
|
|
|
Thank u for all replies.
Actually, the problem with me was that I didn't used UNICODE macro.
When I took a UNICODE build, the letters changed to Japanese.
But the "open" and "cancel" text on the button still remains same.
Is there any way to change this?
Jahfer V P.
|
|
|
|
|
Hi all,
How can i add a user control as a treenode to a TreeView control using C#.
What are all the steps that i need to take in order to accomplish the above task?
Any examples or links will be helpful.
Thanks in Advance
Phani Kiran K.
|
|
|
|
|
tyours bobby wrote: using C#.
Ask the user's of C#. There is a C# forum for this.
This is a VC++ forum.
Jesus Loves <marquee direction="up" height="40" scrolldelay="1" step="1" scrollamount="1" style="background:#aabbcc;border-bottom:thin solid 1px #6699cc">
--Owner Drawn
--Nothing special
--Defeat is temporary but surrender is permanent
--Never say quits
--Jesus is Lord
|
|
|
|
|
|
Hi,
This is my situation: I have created a project (MFC) which depends on a dll with a lib file (non-unicode). Everything compiles fine (for both debug and release). But I have to build my project again in UNICODE. I have corrected everything for unicode build (as to my source code). I have now a dll and lib file built in unicode. How to I add that dll and lib file to my project? I keep getting unresolved external symbol errors for Debug Unicode and Release Unicode(I think the compiler is looking for a specific function from the dll built in unicode. I would really appreciate it if you could tell me the steps in adding my unicode lib file to the project(not just the simple right click on project and add file, that still doesn't work).
Thanks,
Waxie
-- modified at 23:57 Thursday 19th January, 2006
|
|
|
|
|
|
Thanks for the reply.
Where will be I placing this snippet of code? In what file?
waxie
|
|
|
|
|
|
Another way to do this is to create a separate configuration for unicode debug. In that configuration link your unicode libs and that will work. Similar can be done for Unicode Release.
Regards,
|
|
|
|