Przypisywanie liczby

LP
  • Rejestracja: dni
  • Ostatnio: dni
0

Witam mam problem.Jest taki program
[code]
#include<iostream>
using namespace std;
int main(){
int duzy =0xfff; // liczba 4095
char maly;
maly=(char) (duzy+1);
cout << (int) maly <<"--"<<duzy<<endl;
[/code]

I mamy
0xfff = 111111111111 (12 jedynek)
0xfff+1 = 1000000000000 (1 i 12 zer)

I TUTAJ MAM PROBLEM.
Jak teraz 0xfff+1 przypisac do chara ??
Bo wynikiem powinno byc 0-4095

Prosze o pomoc.

AN
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 36
0

Nie, wynikiem powinno by 0.
0xfff+1=0x10000
konwersja na char oznacza weź ostatnie dwie cyfry z zapisu szesnastkowego czyli 0x00.

LP
  • Rejestracja: dni
  • Ostatnio: dni
0

A w przypadku
0xfff = 111111111111 (12 jedynek)
Jak bedzie, bo mam przykład że 0x11111111 (8jedynek)

Loganek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 268
0

rzutując to na char, będzie -1

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.