저는 OKI 431 마이크로 컨트롤러와 함께 작업하고 있습니다. 적절한 소프트웨어가 설치된 PC와 통신 할 수 있습니다. EEPROM은 영구 메모리로 작동하는 마이크로의 I2C 버스에 연결됩니다. PC 소프트웨어는이 EEPROM에 읽고 쓸 수 있습니다.여러 아키텍처에서 음수 표현
두 개의 숫자 B와 C가 각각 2 바이트 정수라고 가정합니다. B는 PC 소프트웨어와 마이크로 모두에 알려져 있으며 상수입니다. C는 B에 가깝기 때문에 B-C가 부호있는 8 비트 정수에 맞을 것입니다. 일부 테스트 후에 C에 대한 적절한 값은 PC에 의해 결정되며 나중에 사용하기 위해 마이크로의 EEPROM에 저장됩니다.
- 는 마이크로
one byte
부호있는 정수로 BC를 저장할 수있는 마이크로 C를 나타내는 전체two byte
를 저장할 수 있고, 이후 B 및 BC에서 C를 유도 할 수지금 마이크로 두 가지 방법 C를 저장할 수
음수의 2의 보수 표현은 현재 하드웨어 제조업체가 일반적으로 허용한다고 생각합니다. 아직도 나는 음수가 다른 방식으로 표현 될 수 있기 때문에 개인적으로 두 개의 다른 아키텍처에 의해 액세스 될 저장 매체에 음수가 저장되는 것을 좋아하지 않습니다. 431은 또한 2의 보수를 사용합니다.
음수가 다른 방식으로 표현 될 수있는 두통을 없애고 다른 팀원이 제안한대로 one byte
해결책을 수락해야합니까? 또는 음수를 처리 할 필요가 없기 때문에 two byte
솔루션의 결정을 고수해야합니까? 어느 것을 선호 하시겠습니까?
오프셋으로 C에 대해 가능한 최소값을 사용하고, 구성된 C 값을 얻기 위해 EEPROM에서 부호없는 바이트를 추가합니다. – starblue