Như tiêu đề ạ. không biết nhập vào thế nào.Không lẻ dùng kiểu unsigned char như bình thường có đúng không ạ
Cách nhập vào số nguyên không dấu 1byte trong C++
Thế bạn muốn nhập theo cách không bình thường à :v
cin >> n thì n = ‘4’ chứ ko phải n = 4, nhập 45 thì n cũng = ‘4’.
cho m là int, nhập cin >> m bình thường, rồi kiểm tra m >= 0 và m <= 256 thì ép xuống 8 bit
#include <iostream>
bool readUint8(std::istream& in, unsigned char& n)
{
int m;
if (in >> m && m >= 0 && m <= 256)
{
n = static_cast<unsigned char>(m);
return true;
}
return false;
}
int main()
{
unsigned char n;
if (readUint8(std::cin, n))
std::cout << "n = " << static_cast<int>(n) << "\n";
else
std::cout << "Not an unsigned 8-bit integer\n";
}
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?