Thông báo

Collapse
No announcement yet.

Chuyển kiểu trong CCS - mọi người cứu em với!!!

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Chuyển kiểu trong CCS - mọi người cứu em với!!!

    Chương trình của em có 2 biến int32, em cần phải chuyển hiệu của 2 biến đó sang dạng float để tiếp tục chia cho 1 hằng số lẻ khác (14.375), đoạn code có dạng sau:
    Code:
    .........................
    calib();       => hàm này thay đổi giá trị 3 biến toàn cục Cx; Cy; Cz
    get_data(); => hàm này cũng thay đổi giá trị 3 biến toàn cục Wx; Wy; Wz
    Wx = (signed int32)(Wx-Cx);
    Wx = (signed int32)(Wy-Cy);
    Wx = (signed int32)(Wz-Cz);
    
    Wx_temp = (float)Wx/14.375;
    Wy_temp = (float)Wy/14.375;
    Wz_temp = (float)Wz/14.375;
    ..........................
    kết quả sau khi printf về máy tính chỉ đúng với số dương (Wi-Ci>0) còn với số âm thì sai be bét và đều bằng 1 giá trị rất lớn. Em thử viết code chuyển kiểu như vậy với trường hợp đơn giản là 2 biến int32 trừ cho nhau ra giá trị -1, gán 1 vào biến float đã định nghĩa trước D = (float)C thì kết của cũng ra là -326. Các anh đi trước có bao giờ gặp trường hợp này không, giúp em với

  • #2
    không biết khi chuyển kiểu có cần thư viện hay hàm nào không mà với số lớn là chuyển bị sai
    đoạn code thử:
    Code:
    int32 A,C;
    float  B,D;
    A = 65290;
    C = 290;
    B = (float)A;
    D = (float)C;
    kết quả printf về máy tính là B = -20509.34271 trong khi D vẫn là 290.00
    em chịu không hiểu nguyên nhân vì sao nữa, mọi người giúp em với

    Comment


    • #3
      Hình như kiểu int32 trong CSS C có vấn đề thì phải!?!
      Lúc em check bằng proteus thì thấy int32 có 16bits à.
      trong khi signed int32 vẫn là 32bits.

      Có bác nào giải thích hoặc chỉ cách dùng 32bits unsigned trong CCS C với ạ.
      Thank!

      Comment


      • #4
        Phép trừ (Wx-Cx) sẽ được thực hiện trước, nó là số dương.
        Phép ép kiểu được thực hiện sau đó.

        Để chắc chắn và hiểu hơn vấn đề, các bạn hãy dùng C/ASM List để xem cách CCS C sinh mã (xem trong tab View hoặc Complie)

        Comment

        Về tác giả

        Collapse

        Hoanghovuong Tìm hiểu thêm về Hoanghovuong

        Bài viết mới nhất

        Collapse

        Đang tải...
        X