cuốn sách gpt4 ai đã làm

c++ - 将 4 字节 int 解释为 4 字节 float

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 08:21:44 hai mươi bốn 4
mua khóa gpt4 Nike

Hãy xem chương trình đơn giản này:

#include 
using namespace std;

int main()
{
int không dấu i=0x3f800000;
float* p=(float*)(&i);
nổi f=*p;
cout<<>
}

Đây là những gì tôi mong đợi từ chương trình:

  1. Dòng cuối cùng: chúng ta phải xem ở đầu ra f.
  2. Bài viết trước:fĐúngPGiá trị được trỏ đến.
  3. Trước:P Con trỏ có tênTôi Giá trị trong địa chỉ biến. (Ngay lập tức Tôi giá trị)
  4. Tôi Đúng 0x3f800000

Vì vậy, tôi muốn thấy ở đầu ra 0x3f800000, nhưng những gì nó in ra là 1. Tại sao?

ap1019@sharifvm:~$ ./a.out
1
ap1019@sharifvm:~$

câu trả lời hay nhất

những gì bạn làm là diễn giải lại_cast chỉ vào int con trỏ tới float và truy xuất bằng cách float Con trỏ sau khi chuyển đổi giá trị.

Nói chung đây là hành vi không xác định, nhưng trên máy của bạn nó xảy ra intfloat có cùng kích thước và đại diện byte của int< giá trị0x3f800000, cũng đại diệnfloat giá trị1.

Về c++ - diễn giải int 4 byte thành float 4 byte, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/29847288/

hai mươi bốn 4 0
Taklimakan
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress