Làm cách nào để chuyển đổi int thành char?

0

yhtomitsyvence

Trả lời 8 năm trước trên

Trả lờiUpvote

Tôi đồng ý rằng phương pháp truyền ký tự mà bạn đã mô tả
ở trên. Tuy nhiên, vấn đề với nó là nó không chuyển giá trị
thực của số nguyên, là 5, sang ký tự. Thay vào đó, những gì nó làm là
chuyển ký tự ascii tương đương với giá trị của số nguyên sang biến ký tự
.

Ví dụ: tôi muốn bạn tải mã này lên
bảng mạch arduino của bạn và mở màn hình nối tiếp và xem giá trị đã được
thông qua .

thiết lập vô hiệu []

{


nối tiếp. begin[9600];//cài đặt tốc độ truyền thông


inti=10;


char c=char[i];


nối tiếp. print["Số nguyên i = \t"];


nối tiếp. println[i];//hiển thị giá trị của số nguyên i


nối tiếp. print["Ký tự c = \t"];


nối tiếp. println[c];//hiển thị giá trị của ký tự c

}

vòng lặp vô hiệu []

{

}

Bạn sẽ nhận thấy rằng không có giá trị nào của c được hiển thị. Điều này là do
ký tự ascii tương đương với 10 là một hành động điều khiển [xóa lùi]. Bạn sẽ nhận được
các kết quả tương tự nếu cố gắng chuyển đổi các giá trị số nguyên nằm trong khoảng từ 0 đến 31 vì chúng
là các hành động điều khiển và cũng là giá trị 32[dấu cách] và giá trị . Bạn có thể
xác nhận từ bảng Ascii bên dưới.

http. //www. áo choàng. com/smugbook/ascii. html">http. //www. áo choàng. com/smugbook/ascii. html

Bây giờ, hãy thay đổi giá trị của int i thành bất kỳ giá trị nào nằm trong khoảng từ 33 đến 126
và khi bạn chạy chương trình, giá trị của ký tự Ascii tương đương với giá trị của int .
be displayed in the serial.

Ví dụ: nếu bạn sử dụng int i=123;
ký tự tương đương sẽ là x.

Ký tự có thể hoạt động như một số nguyên bình thường trong các thao tác vì
ký tự sẽ sử dụng giá trị tương đương hex của x là 123; . Do đó, bạn sẽ có thể làm điều gì đó như i+c mà vẫn
character ‘x’. Therefore, you will be able to do something like i+c and still
nhận được câu trả lời số nguyên chính xác 126.

Tuy nhiên, kiểu truyền này tôi. e. char
c=[char]i; . Việc chuyển đổi bất kỳ số nguyên nào trên
that are between and inclusive of 0 and 127. Conversion of any integer above
giá trị 127 bằng phương pháp này sẽ gây ra lỗi trong thao tác và
so sánh. Vì lý do này nên sử dụng phương pháp tôi đã mô tả
ở trên, vì phương pháp này có thể xử lý bất kỳ kích thước nào của số nguyên và truyền giá trị thực
.

Tôi sẽ cập nhật toàn bộ hướng dẫn trên http. //www. hack arduino. com/converting-integer-to-character-vice-versa/
sau một giờ hoặc lâu hơn, để cho bạn thấy ý của tôi.

Kiểu dữ liệu char được biểu diễn dưới dạng giá trị ascii trong lập trình c. Các giá trị Ascii là các giá trị số nguyên nếu chúng ta thêm '0' thì chúng ta sẽ nhận được ASCII của chữ số nguyên đó có thể được gán cho một biến char. Sau đó, nếu chúng tôi truy cập char đó bằng %c, chúng tôi có thể in nó

Nếu chúng ta muốn chuyển đổi một số thì chúng ta phải trích xuất chữ số đó và sau đó chúng ta phải chuyển đổi nó thành một mảng ký tự

Hãy xem ví dụ dưới đây để chuyển đổi một int thành một giá trị ký tự

Ví dụ

#include
int main[]
{
 int a=1;
 char c=a+'0';
 printf["Converted character is %c",c];
}

Trong ví dụ trên, một chữ số int được chuyển thành kiểu char

Biến

g
8 được gán giá trị 1

Biến

g
8 được chuyển thành kiểu char bằng cách thêm
g
0 và gán cho biến kiểu char
g
1

Chương trình C để chuyển đổi Int sang Char

Cải thiện bài viết

Lưu bài viết

Thích bài viết

  • Cập nhật lần cuối. 05 tháng 8 năm 2022

  • Đọc
  • Bàn luận
  • khóa học
  • Luyện tập
  • Băng hình
  • Cải thiện bài viết

    Lưu bài viết

    Để chuyển đổi int thành char trong ngôn ngữ C, chúng tôi sẽ sử dụng 2 cách tiếp cận sau

    1. sử dụng đánh máy
    2. Sử dụng sprintf[]

    Ví dụ

    Input:  N = 65
    Output: A

    1. Sử dụng Typecasting

    Phương pháp 1

    • Khai báo và khởi tạo. Để bắt đầu, chúng ta sẽ khai báo và khởi tạo số nguyên của mình với giá trị được chuyển đổi
    • đánh máy. Nó là một kỹ thuật để chuyển đổi một kiểu dữ liệu sang một kiểu dữ liệu khác. Chúng tôi đang nhập số nguyên N và lưu giá trị của nó trong biến kiểu dữ liệu char c
    • In ký tự. Cuối cùng, in ký tự bằng print

    Ví dụ

    C




    g
    2

    g
    3

    g
    4

    g
    5

     

    g
    6

    g
    0
    g
    1

    g
    2

    g
    3____20
    g
    5

    g
    3______27____28
    g
    9
    Input:  N = 65
    Output: A
    20
    Input:  N = 65
    Output: A
    21
    Input:  N = 65
    Output: A
    22

    g
    3____124
    Input:  N = 65
    Output: A
    25

    Input:  N = 65
    Output: A
    26

    Đầu ra

    g

    Phương pháp 2

    • Khai báo và khởi tạo. Để bắt đầu, chúng ta sẽ khai báo và khởi tạo số nguyên của mình với giá trị được chuyển đổi
    • đánh máy. Khai báo một biến khác là ký tự c và gán giá trị của N cho C
    • In ký tự. Cuối cùng, in ký tự bằng printf

    Ví dụ

    C




    Input:  N = 65
    Output: A
    27

    Input:  N = 65
    Output: A
    28

    g
    5

     

    g
    6

    g
    0
    g
    1

    g
    2

    g
    3______20
    g
    76

    g
    3____121
    g
    79

    g
    3____27____28
    g
    9
    Input:  N = 65
    Output: A
    24

    g
    3____124
    Input:  N = 65
    Output: A
    25

    Input:  N = 65
    Output: A
    26

    Đầu ra

    Input:  N = 65
    Output: A
    2

    2. Sử dụng sprintf[]

    Phân bổ không gian cho một biến int sẽ được chuyển đổi thành bộ đệm char

    Ví dụ

    C




    Input:  N = 65
    Output: A
    27

    g
    20

    g
    5

    g
    0
    g
    1

    g
    2

    g
    3
    g
    0
    g
    27

    g
    3____121
    g
    30

     

    g
    3____832____833
    g
    9
    g
    35

    g
    3____27____28
    g
    39
    Input:  N = 65
    Output: A
    24

     

    g
    3____124
    Input:  N = 65
    Output: A
    25

    Input:  N = 65
    Output: A
    26

    Đầu ra

    g
    7

    Phương pháp. Chuyển đổi từ int sang char bằng cách thêm 0

    C




    g
    5

     

    g
    6

    g
    0
    g
    1

    g
    2

    g
    3______20
    g
    76

    g
    3____121
    g
    55

    g
    3____27____28
    g
    9
    Input:  N = 65
    Output: A
    24

    g
    3____124
    Input:  N = 65
    Output: A
    25

    Input:  N = 65
    Output: A
    26

    Đầu ra

    Input:  N = 65
    Output: A
    2


    Ghi chú cá nhân của tôi arrow_drop_up

    Tiết kiệm

    Vui lòng Đăng nhập để nhận xét.

    Làm cách nào để chuyển đổi int thành char * trong c?

    Khai báo và khởi tạo. Để bắt đầu, chúng ta sẽ khai báo và khởi tạo số nguyên với giá trị cần chuyển đổi. đánh máy. Khai báo một biến khác là ký tự c và gán giá trị của N cho biến C . In ký tự. Cuối cùng, in ký tự bằng printf .

    Bạn có thể biến int thành char c không?

    Một ký tự trong C đã là một số [mã ASCII của ký tự], không cần chuyển đổi . Nếu bạn muốn chuyển đổi một chữ số thành ký tự tương ứng, bạn chỉ cần thêm '0'. c = i +'0'; .

    Làm cách nào để chuyển đổi int thành char Python?

    Hàm tích hợp sẵn của Python chr[] trả về một ký tự mã sunicode tương đương với một số nguyên trong khoảng từ 0 đến 0x10ffff.

    Làm cách nào để chuyển đổi int thành char trong cpp?

    Trong bài viết này, chúng ta sẽ tìm hiểu cách chuyển int thành char trong C++. .
    sử dụng đánh máy
    Sử dụng static_cast
    Sử dụng sprintf[]
    Sử dụng to_string[] và c_str[]
    Sử dụng stringstream

    Chủ Đề