Loading Now

[Cpp-STL] Bitset-convertChar 4

Cpp-STL Bitset

Bài tập.

Anh Việt có một ký tự ch là một chữ cái in hoa ('A' đến 'Z'). Anh Việt làm một phép biến đổi như sau, lấy chuỗi nhị phân gồm 7 ký tự là biểu diễn chuỗi bit của ký tự ch, đổi các bit trong chuỗi đó (bit 0 thành 1 và ngược lại).

Anh Việt muốn biết chuỗi bit sau khi đổi là biểu diễn nhị phân của ký tự nào.

Ví dụ:

  • Với ch = 'A' thì kết quả là '>'.
    Giải thích: Ký tự 'A' đổi ra nhị phân là 1000001(2), sau khi biến đổi sẽ thành 0111110(2) là biểu diễn nhị phân của ký tự '>'.
  • Với ch = 'G' thì kết quả là '8'.

Hướng dẫn.

Dùng bitset<7> để lưu chuỗi nhị phân của ký tự ch.
Dùng hàm flip() để thay đổi giá trị các bit.

Code mẫu:

char convertChar(char ch)
{
    bitset<7> foo(ch);
    foo.flip();
    return char(foo.to_ulong());
}

Post Comment

Contact