ვთქვათ, რომ სენსორი იყენებს 16-ბიტიან მთელ რიცხვს ან გსურთ შექმნათ მთელი რიცხვი, რომელიც ყოველთვის 16-ბიტიანია. სწორედ მაშინ გამოიყენება "int16_t". ეს არის ყოველთვის 16 ბიტი ყველა Arduino დაფაზე.
რა არის int16_t?
int16_t არის 16ბიტიანი მთელი რიცხვი. uint16_t არის ხელმოუწერელი 16 ბიტიანი მთელი რიცხვი. იგივე ეხება 8 ბიტიან, 32 ბიტიან და 64 ბიტიან ცვლადებს. იგი ძირითადად გამოიყენება კროს პლატფორმის პროგრამების შესაქმნელად. მაგალითად, Arduino მთელი რიცხვები (int) არის 2 ბაიტი, მაგრამ სახლის კომპიუტერებში მთელი რიცხვი არის 32 ბიტი.
გამოვიყენო int თუ int16_t?
int შეიძლება იყოს დამოკიდებული ტექნიკის არქიტექტურაზე და ძირითადად არის 16 ან 32 ბიტიანი. თუმცა, ant16_t ყოველთვის არის 16 ბიტი, მიუხედავად ტექნიკის არქიტექტურისა. არასწორი იქნება, როდესაც თქვენ გაქვთ 32 ბიტიანი არქიტექტურა (int-ისთვის) და აპირებთ მის გადაცემას int16_t-ზე, ვიდრე დაკარგავთ MSB 16 ბიტს.
რა არის int16_t C-ში?
მაგალითად, სახელი int16_t მიუთითებს 16-ბიტიან ხელმოწერის მთელ ტიპზე და სახელი uint32_t მიუთითებს 32-ბიტიან ხელმოუწერელ მთელ რიცხვზე. იმისათვის, რომ ეს სახელები ხელმისაწვდომი იყოს პროგრამისთვის, ჩართეთ inttypes. h სათაურის ფაილი. … ამ ახალ აღნიშვნებს უწოდებენ ზუსტი სიგანის ტიპებს.
როგორ არის განსაზღვრული uint32_t?
uint32_t არის რიცხვითი ტიპი, რომელიც უზრუნველყოფს 32 ბიტს . მნიშვნელობა ხელმოუწერელია, რაც ნიშნავს, რომ მნიშვნელობების დიაპაზონი მიდის 0-დან 2-მდე32 - 1. uint32_t ptr; აცხადებს uint32_t ტიპის მაჩვენებელს, მაგრამ მაჩვენებელი არ არის ინიცირებული,ანუ კურსორი არ მიუთითებს კონკრეტულად არსად.