우리는 C 식의 등가 을 수행 ADDL 명령어를 사용한다고 가정 "t = A + B"A, B, T 형 INT의 변수 곳는 다음 조건 코드는 다음 C에 따라 설정 될 식 : CF (부호 t) < (부호 a) 부호없는 오버플 ZF (t == 0) 제로 SF : OF (t < 0) 음 : (a < 0 == B를 < 0) & & (! t < 0 = A < 0) 부
CF는 부호없는 캐리 아웃을 나타내고 OF는 부호있는 오버플로를 나타내는 것으로 알려져 있습니다. 그렇다면 어셈블리 프로그램은 부호없는 데이터와 서명 된 데이터를 어떻게 구별 할 수 있습니까? (타입 정보를위한 추가 메모리 저장을 통해, 또는 위치 정보를 통해 또는 다른 것을 통해?) 그리고이 두 플래그는 서로 바꿔서 사용할 수 있습니까?
C++는 대부분 C의 수퍼 세트이지만 항상 그런 것은 아닙니다. 특히 C와 C++의 열거 형 값은 암시 적으로 int로 변환되지만 역순은 true가 아닙니다. C에서만 int가 열거 형 값으로 변환됩니다. 따라서 열거 형 선언을 통해 정의 된 비트 플래그가 올바르게 작동하지 않습니다. 따라서,이 ++이 아닌 C에, C에서 OK입니다 :이 typedef en
사용자가 GUI를 통해 기존 개체 (정확히 "필터"도메인 개체)를 편집 할 수있는 시스템에서 작업하고 있습니다. UI 힌트로서 사용자가 객체에 실제로 수정 한 경우에만 저장 버튼을 활성화하려고합니다. 나는 누군가가이 문제에 대해 어떤 경험을했는지, 그리고 가장 좋은 방법이이 문제에 접근 할 수 있는지 궁금해했다. 도메인 객체에 isDirty() 플래그를 추