|Jobs| NB 雙系統 : Ubuntu 回到 Windows 後,時間異常

如果你在一台筆電灌雙系統:ubuntu 及 windows,在切換時,應該會遇到一件事:

從 ubuntu  切回 windows,時間顯示異常。

這是因為 Linux base 系統時間預設是使用 UTC,然後寫進硬體時鐘。

而 windows 是使用 Local 時間存在硬體時鐘裡。

解法:

修改一個註冊檔,讓 windows 跟 ubuntu 一樣,用 UTC 當作計算時間的方法

點兩下這個註冊檔即可:WindowsTimeFixUTC.reg

 

ref. Clock shows wrong time after switching from Ubuntu to Windows 10

 

延伸:What is UTC? What is the Local time ?

|Code| uint8_t vs unsigned char

越底層的程式,就要越善用資源 (空間+時間)

晶片廠的程式碼,很少直接: char 的,因為太浪費空間啦!!!

多半會用:uint8_t 表示 char 的東東

uint8_t = unsigned char

uint8_t 只會占用 8 bit (1 byte)

char 是 -128 ~ 127
unsigned char 是 0 ~ 255
extend ascii 是 0 ~ 255

 

現在 C 語言的寫法建議:

引用 stdint.h 函式庫,並使用具有帶號(signed)與長度資訊宣告方式:

  • 帶正負號的整數使用 int8_tint16_tint32_tint64_t
  • 不帶號的整數使用 uint8_tuint16_tuint32_tuint64_t
  • 32 與 64 位元長的浮點數使用 floatdouble

 

其他整理:

  1. char 可以直接 cast it to uint8_t
  2. uint8_t a = 5; printf(“%d”, a);

 

ref.

2016 年,現代 C 語言的寫法

WordPress.com.

Up ↑