про __intXX
unsigned int a = /*заначение из базы*/
Edit1->Text = a;
и
unsigned __int32 a = /*значение из базы*/
Edit1->Text = a;
получаются совершенно разные значения, причем правильное первое, хотя вроде int тоже 32 разряда
Цитата:
Originally posted by _kolyan
Пишу
unsigned int a = /*заначение из базы*/
Edit1->Text = a;
и
unsigned __int32 a = /*значение из базы*/
Edit1->Text = a;
получаются совершенно разные значения, причем правильное первое, хотя вроде int тоже 32 разряда
Пишу
unsigned int a = /*заначение из базы*/
Edit1->Text = a;
и
unsigned __int32 a = /*значение из базы*/
Edit1->Text = a;
получаются совершенно разные значения, причем правильное первое, хотя вроде int тоже 32 разряда
А разве usigned __int32 вообще существует.
Беру книжку по 5 билдеру Архангельского и вижу:
__int8
__int16
__int32
__int64
unsigned __int 64
Цитата:
Originally posted by gray_k
А разве usigned __int32 вообще существует.
Беру книжку по 5 билдеру Архангельского и вижу:
__int8
__int16
__int32
__int64
unsigned __int 64
А разве usigned __int32 вообще существует.
Беру книжку по 5 билдеру Архангельского и вижу:
__int8
__int16
__int32
__int64
unsigned __int 64
по крайней мере компиллятор не ругается, но даже если ставить unsigned __int64 то все равно не правильно получается
Цитата:
Originally posted by _kolyan
по крайней мере компиллятор не ругается, но даже если ставить unsigned __int64 то все равно не правильно получается
по крайней мере компиллятор не ругается, но даже если ставить unsigned __int64 то все равно не правильно получается
Думаю, дело в преобразовании типов.
Насколько помню, TEdit::Text имеет тип AnsiString.
Видимо преобразование unsigned int -> AnsiString определено, а из unsigned _int32 не определено.
Можно попробовать явное промежуточное преобразование:
Edit1->Text = (unsigned int)a;