본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
php

PHP 비트 AND 연산자 — & 완전 정리

by 왕진 2026. 6. 26.
반응형

 

 

Web Development · PHP

PHP 비트 AND 연산자 —
& (single ampersand)

두 비트가 모두 1일 때만 1 — 진리표가 그대로 코드
시작 오늘 분석할 코드

0과 1의 모든 조합 4개를 &(비트 AND)로 연결한 결과를 본다. 한 비트의 동작 그대로다.

<?php $data = 0 & 0; print $data."<BR>"; $data = 1 & 0; print $data."<BR>"; $data = 0 & 1; print $data."<BR>"; $data = 1 & 1; print $data."<BR>"; ?>
실제 출력 미리보기
0
0
0
1

용어 핵심 키워드
& (single)비트 AND — 두 비트 모두 1이면 1
&& (double)논리 AND — 두 표현식 모두 참이면 참
| (single)비트 OR — 어느 하나라도 1이면 1
^XOR — 둘이 다를 때만 1
~NOT — 0 ↔ 1 반전
<< >>왼쪽/오른쪽 시프트

1 & 의 진리표
A B A & B 의미
0 0 0 둘 다 0
1 0 0 한 쪽 0이면 0
0 1 0 한 쪽 0이면 0
1 1 1 둘 다 1일 때만 1
💡 한 줄 요약 — &는 "그리고(AND)" 의미. 두 비트 모두 1이어야 1이 된다.

2 & vs && — 매우 중요한 차이

비슷해 보이지만 완전히 다른 연산자다.

구분 & (비트) && (논리)
대상 각 비트 자리 전체 값의 truthy/falsy
5 ?? 3 5 & 3 = 1 (101 & 011 = 001) 5 && 3 = true
true와 false true & false = 0 true && false = false
주 용도 플래그/마스크 조건문
단축 평가 없음 — 양쪽 다 평가 있음 — 좌가 false면 우 평가 X
실무 조건문은 &&if ($x & $y)는 거의 항상 의도와 다르다. 조건문에는 &&를 사용한다.

3 본 코드의 의도

본 코드는 비트 연산의 진리표를 직접 확인하는 학습용이다. 0과 1만 다루기 때문에 &&&의 결과가 같아 보인다 — 실제로는 다른 연산자다.


 

반응형

 

4 비트 AND가 실제 쓰이는 곳
  • 플래그 체크 — 권한 비트 중 특정 권한을 가졌는지
    if ($perm & PERM_WRITE) { ... }
  • 마스킹 — IP 주소의 서브넷 부분만 추출
  • 짝수 판단$n & 1 == 0이면 짝수
  • 하드웨어 제어 — 비트 단위로 디바이스 상태 읽기

5 다른 비트 연산자 5종
// 비트 OR — 어느 하나라도 1이면 1 1 | 0 = 1; 1 | 1 = 1; // XOR — 둘이 다르면 1 1 ^ 0 = 1; 1 ^ 1 = 0; // NOT — 비트 반전 (~5는 -6, 8비트면 ...11111010) ~5 = -6; // 왼쪽 시프트 — 2배씩 (5 → 10 → 20) 5 << 1 = 10; // 오른쪽 시프트 — 1/2씩 10 >> 1 = 5;

6 자주 하는 실수
  • 조건문에 & 사용 → 의도치 않은 비트 연산
  • &와 && 혼동 — "한 줄"인지 "두 줄"인지로 외우기
  • 음수에 비트 연산 — 2의 보수 표현 때문에 결과 헷갈림
  • 비트 연산 결과를 truthy/falsy로 사용 — 오해 소지

핵심 한 줄 요약

&비트 AND — 각 비트 자리
&&논리 AND — 조건문용
진리표둘 다 1일 때만 1
활용플래그/마스크/짝수 판단
조건문반드시 &&를 사용

Tags

#PHP #비트연산자 #AND #bitwise #논리AND #진리표 #마스크 #플래그 #짝수 #백엔드 #CSS #HTML #웹개발 #티스토리
▼ 티스토리 태그 입력란 복사용
PHP, 비트연산자, AND, bitwise, 논리AND, 진리표, 마스크, 플래그, 짝수, 백엔드, CSS, HTML, 웹개발, 티스토리
반응형

댓글