Як зробити розрядний зрушення в __int64?

B

boeysue

Guest
__int64 I = 0;

I>> = 9;

чому я не дорівнює 0?

і як це зробити в зсув вправо?

 
Це C?Це звучить як __int64 мова розширення надаваних компілятора.Якщо це 64-розрядна цілого типу, то ваші права зміну повинна працювати нормально.Може бути так, як ви випробування і є невірним.Повідомте нам, який компілятор ви використовуєте, і показати нам, малим повну програму, яка показує проблеми і, можливо, ми можемо допомогти вам знайти неприємності.

Наприклад, MinGW (GCC 3.4.2) передбачає __int64, і це правильно друкує "Я дорівнює нулю":

Код:

# Включити <stdio.h>п (VOID)

(

__int64 I = 0;I>> = 9;

якщо (I == 0)

Е ( "Я дорівнює нулю \ п");

ще

Е ( "Я не дорівнює нулю \ п");

повернути 0;

)
 
привіт,
Крім того, я перевірив на сонці компілятор він працює чудово ,....

 
Привіт усім
також працює нормально з MinGW 2,05 (під WinXP)

 

Welcome to EDABoard.com

Sponsor

Back
Top