설 연휴가 다가오고 드디어 시간이 났습니다. 매일 다양한 기술기사를 찾아보며 이 상태가 대단합니다.
오후에 js에 관한 기사를 읽었는데 다음 문단이 눈길을 끌었습니다.
(함수 () {
변수 이름 = [];
반환 함수(이름) {
addName(이름);
}
함수 addName(이름) {
If (!~names.indexOf(name))//존재하는 경우
를 추가하지 마세요. names.push(이름);
console.log(이름);// ["linkFly"]
}
}())('linkFly');
if (!~names.indexOf(name))의 "!~" 연산자는 무엇을 의미하나요? 이해가 안 된다면 ~부터 시작하겠습니다.
테스트를 통해 결과 값에 다음 패턴이 있음을 알 수 있습니다 - (X 1)
검색 후 일부 기사에서는 한 문장만 손실되었습니다. 이진수를 부정합니다.
여기서는 말 그대로 8자리 이진수로 표현됩니다: 3=00000011, 그러면 ~3=11111100, 위 공식을 적용하는 것은 잘못된 것입니다.
위의 설명은 아직 너무 추상적이고 구체적이지 않습니다. 실제로 여기에는 원본 코드, 역코드, 보완 코드에 대한 지식이 포함됩니다.
원본코드
원래 코드 표현의 가장 높은 비트는 부호 비트입니다. 이 비트는 양수의 경우 0이고 음수의 경우 1입니다. 나머지 비트는 숫자의 절대값을 나타냅니다.
역코드
부호 있는 숫자의 경우 양수의 1의 보수는 원래 코드와 동일합니다. 음수의 1의 보수는 부호 비트를 제외한 원래 코드의 모든 비트를 비트 단위로 반전한 것입니다. 보완코드는 보완코드를 찾는 과정에서 중간형태로 사용되는 경우가 많습니다.
보완코드
양수의 보수는 원래 코드와 동일하며 음수의 보수는 부호 비트를 제외한 원래 코드의 모든 비트를 반전하고 마지막 비트에 1을 더하여 얻습니다. 숫자에 1을 더한 것입니다. 컴퓨터의 숫자는 일반적으로 2의 보수 형태로 표현됩니다. 보완 코드에서는 (-0)D 대신 (-128)D가 사용됩니다. 참고: (-128)D에는 해당 원본 코드가 없으며 보완 코드는 (-128)D = (1000,0000)B입니다.
보완연산
보수 연산은 부호 비트를 고려하지 않으며 원래 코드의 각 비트를 반전하고 마지막 비트에 1을 더하여 얻습니다. 숫자의 보수는 그 반대의 보수입니다.
저자의 글을 예로 들어 이해해보세요
~는 비트 부정을 의미합니다. 부정은 00111이면 11000(비트 부정)이 된다는 뜻입니다.
57의 이진 표현은 (1바이트): 00111001
비트 부정(~57) 후의 이진 표현: 11000110 이는 십진수로 표현됩니다: -70
이것은 부호 있는 숫자인 음수입니다. 음수는 컴퓨터에서 보수로 표시됩니다. 보수 = 부호 비트 뒤에 비트 반전이 추가되고 1이 추가됩니다.
따라서 -70(11000110)의 부호 비트를 비트 단위로 반전하면 (10111001)이 되고, 1을 더하면 (10111010)이 됩니다
십진수로 변환:-58
그러므로~57=-58
한숨의 시간:
토대는 위의 모든 것의 초석입니다. 도를 닦는 데 전념하면 길은 길어질 것입니다.
위 내용은 이 글의 전체 내용입니다. 이 글을 통해 조금이나마 얻으실 수 있기를 바랍니다.

JavaScript의 최신 트렌드에는 Typescript의 Rise, 현대 프레임 워크 및 라이브러리의 인기 및 WebAssembly의 적용이 포함됩니다. 향후 전망은보다 강력한 유형 시스템, 서버 측 JavaScript 개발, 인공 지능 및 기계 학습의 확장, IoT 및 Edge 컴퓨팅의 잠재력을 포함합니다.

JavaScript는 현대 웹 개발의 초석이며 주요 기능에는 이벤트 중심 프로그래밍, 동적 컨텐츠 생성 및 비동기 프로그래밍이 포함됩니다. 1) 이벤트 중심 프로그래밍을 사용하면 사용자 작업에 따라 웹 페이지가 동적으로 변경 될 수 있습니다. 2) 동적 컨텐츠 생성을 사용하면 조건에 따라 페이지 컨텐츠를 조정할 수 있습니다. 3) 비동기 프로그래밍은 사용자 인터페이스가 차단되지 않도록합니다. JavaScript는 웹 상호 작용, 단일 페이지 응용 프로그램 및 서버 측 개발에 널리 사용되며 사용자 경험 및 크로스 플랫폼 개발의 유연성을 크게 향상시킵니다.

Python은 데이터 과학 및 기계 학습에 더 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 더 적합합니다. 1. Python은 간결한 구문 및 풍부한 라이브러리 생태계로 유명하며 데이터 분석 및 웹 개발에 적합합니다. 2. JavaScript는 프론트 엔드 개발의 핵심입니다. Node.js는 서버 측 프로그래밍을 지원하며 풀 스택 개발에 적합합니다.

JavaScript는 이미 최신 브라우저에 내장되어 있기 때문에 설치가 필요하지 않습니다. 시작하려면 텍스트 편집기와 브라우저 만 있으면됩니다. 1) 브라우저 환경에서 태그를 통해 HTML 파일을 포함하여 실행하십시오. 2) Node.js 환경에서 Node.js를 다운로드하고 설치 한 후 명령 줄을 통해 JavaScript 파일을 실행하십시오.

쿼츠 타이머를 사용하여 작업을 예약 할 때 미리 쿼츠에서 작업 알림을 보내는 방법 작업의 실행 시간은 CRON 표현식에 의해 설정됩니다. 지금...

JavaScript 프로그래밍에서 JavaScript의 프로토 타입 체인에서 함수 매개 변수를 얻는 방법 프로토 타입 체인의 기능 매개 변수를 이해하고 조작하는 방법은 일반적이고 중요한 작업입니다 ...

WeChat 애플릿 웹 뷰에서 vue.js를 사용하는 동적 스타일 변위 실패가 vue.js를 사용하는 이유를 분석합니다.

동시 링크에 대한 요청을 여러 링크와 순서대로 판단하여 결과를 반환하는 방법은 무엇입니까? 탬퍼 몬키 스크립트에서는 종종 여러 체인을 사용해야합니다 ...


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

뜨거운 주제



