Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C++] shift

  1. #1

    [C++] shift

    Salve a tutti. Ottengo una warning quando eseguo questa porzione di codice:

    unsigned long int Ciao= 1;
    Ciao= Ciao >> 48;


    Warning: Shift count is too large in "main.cpp", Line: 627, Col: 52


    Non capisco perché accada. Come devo risolvere?

  2. #2
    Chiarito. Il compilatore che sto usando lo pensa come 4 byte.

  3. #3
    Sì è normale; su Windows i long sono a 32 bit (anche con il compilatore a 64 bit), a differenza di Linux, dove long è a 64 bit (con il compilatore a 64 bit). In generale comunque se ti serve un tipo con una dimensione ben definita usa i tipi da stdint.h (ad esempio, un intero senza segno a 64 bit è uint64_t).
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.